package com.gxgeek.thread;

/**
 * ClassName: <br/>
 * Function: TODO ADD FUNCTION. <br/>
 * Reason:   TODO ADD REASON. <br/>
 * Date:     2017/12/27 上午11:24 <br/>
 *
 * @author test
 * @see
 * @since JDK
 */
public class TestSync2 implements Runnable {

    int b = 100;


    synchronized void m1() throws InterruptedException {
        b = 1000;

        Thread.sleep(500);//6
        System.out.println("b=" + b);
    }

    synchronized void m2() throws InterruptedException {
        Thread.sleep(250);//5
        b = 2000;
    }


    public static void main(String[] args) throws InterruptedException {
        TestSync2 tt = new TestSync2();
        Thread t = new Thread(tt);
//1
        t.start();

//2
        tt.m2();
//3

        System.out.println("main thread b=" + tt.b);
//4

    }


    @Override

    public void run() {
        try {
            m1();
        } catch (InterruptedException e) {
            e.printStackTrace();

        }

    }

}
